{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a8ef9ad9-c7e1-4fed-b0bd-581064558089",
   "metadata": {},
   "source": [
    "# GPT-3.5-Turbo Performance on MMLU - College Medicine"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "4f1c09a4-4859-469b-a156-dbb037c83a65",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import openai\n",
    "import re\n",
    "import time\n",
    "import json\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "from tqdm import tqdm\n",
    "from datasets import load_dataset\n",
    "from tenacity import retry, stop_after_attempt, wait_chain, wait_fixed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "eaea2a2a-2515-4508-9cdb-084d10853170",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "openai.api_key = \"sk-\" "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "95ddd688-5bf5-40c5-a852-32e62f5a1bbb",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "@retry(wait=wait_chain(*[wait_fixed(3) for i in range(3)] +\n",
    "                       [wait_fixed(5) for i in range(2)] +\n",
    "                       [wait_fixed(10)]))\n",
    "def completion_with_backoff(**kwargs):\n",
    "    return openai.ChatCompletion.create(**kwargs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "d4063503-c0e0-4df7-9866-0815f4c9fdf0",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "mmlu_prompt = json.load(open('lib_prompt/mmlu-cot.json'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "bbbbe828-fad8-48a9-9cab-4a7e675ecf9e",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The following are multiple choice questions (with answers) about college medicine.\n",
      "\n",
      "Q: An expected side effect of creatine supplementation is:\n",
      "(A) muscle weakness. (B) gain in body mass. (C) muscle cramps. (D) loss of electrolytes.\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. Creatine supplementation is a dietary supplement that results in body mass gain. The answer is (B).\n",
      "\n",
      "Q: Which of the following is not a true statement?\n",
      "(A) Muscle glycogen is broken down enzymatically to glucose-1-phosphate (B) Elite endurance runners have a high proportion of Type I fibres in their leg muscles (C) Liver glycogen is important in the maintenance of the blood glucose concentration (D) Insulin promotes glucose uptake by all tissues in the body\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. Let’s solve this step by step and go over each choice: \n",
      "(A) “Muscle glycogen is broken down enzymatically to glucose-1-phosphate”: This is a correct statement.\n",
      "(B) “Elite endurance runners have a high proportion of Type I fibres in their leg muscles”: This is a correct statement.\n",
      "(C) “Liver glycogen is important in the maintenance of the blood glucose concentration”: This is a correct statement. \n",
      "(D) “Insulin promotes glucose uptake by all tissues in the body”: This is not a correct statement, because insulin promotes glucose uptake by the liver, adipose tissue, and muscle, but not all tissues. For instance, the tissues in the brain and red blood cells are not affected by insulin. The answer is (D).\n",
      "\n",
      "Q: A high school science teacher fills a 1 liter bottle with pure nitrogen and seals the lid. The pressure is 1.70 atm, and the room temperature is 25°C. Which two variables will both increase the pressure of the system, if all other variables are held constant?\n",
      "(A) Increasing temperature, increasing moles of gas (B) Increasing temperature, increasing volume (C) Decreasing volume, decreasing temperature (D) Decreasing moles of gas, increasing volume\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. The relevant equation for this is the ideal gas law: PV=nRT. To increase the pressure of the system (P), then either n (number of moles of the gas) or T (temperature) have to increase. The answer is (A).\n",
      "\n",
      "Q: In a genetic test of a newborn, a rare genetic disorder is found that has X-linked recessive transmission. Which of the following statements is likely true regarding the pedigree of this disorder?\n",
      "(A) All descendants on the maternal side will have the disorder. (B) Females will be approximately twice as affected as males in this family. (C) All daughters of an affected male will be affected. (D) There will be equal distribution of males and females affected.\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. Let’s solve this step by step. Let's recall first that females have two X chromosomes, while males have one X and one Y chromosome. This is an important fact we need to know before answering this question. \n",
      "Because a male can only pass his only one X chromosome to a daughter, if he is affected by this rare genetic disorder, then we know for sure that he will pass this rare genetic disorder to all his future-born daughters. Therefore, “(C): All daughters of an affected male will be affected” is a correct statement. The answer is (C).\n",
      "\n",
      "Q: Glucose is transported into the muscle cell:\n",
      "(A) via protein transporters called GLUT4. (B) only in the presence of insulin. (C) via hexokinase. (D) via monocarbylic acid transporters.\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. Glucose (also known as the blood sugar) is the main sugar found in the human body. It is transported into the muscle cell via diffusion through protein transporters called GLUT4. The answer is (A).\n"
     ]
    }
   ],
   "source": [
    "task = 'college_medicine'\n",
    "print(mmlu_prompt[task])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ce1c6b79-3530-4efe-bfd6-eead27d09ff3",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading and preparing dataset mmlu/college_medicine to /Users/yaofu/.cache/huggingface/datasets/lukaemon___mmlu/college_medicine/1.0.0/134145dc2582b9a08b42d1f4b828f84a0066e9cc2e7dd8c1d83bee475746ecc3...\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ea7c02e39deb41d190111058bae11ed8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Generating test split:   0%|          | 0/172 [00:00<?, ? examples/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Generating validation split:   0%|          | 0/21 [00:00<?, ? examples/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "893403d3c3cd4b1b82358bc89881370c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Generating train split:   0%|          | 0/4 [00:00<?, ? examples/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dataset mmlu downloaded and prepared to /Users/yaofu/.cache/huggingface/datasets/lukaemon___mmlu/college_medicine/1.0.0/134145dc2582b9a08b42d1f4b828f84a0066e9cc2e7dd8c1d83bee475746ecc3. Subsequent calls will reuse this data.\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "26bd3b33586045ce9f1cf8cea52e5b4a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/3 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "task_data = load_dataset(\"lukaemon/mmlu\", task)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "0957327f-9454-4010-9501-b7086fbba125",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "172"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(task_data['test'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "5b18d727-13a7-45cd-a842-3462636d9c25",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'input': 'Who set the world record for the mile race in 1886?',\n",
       " 'A': 'R Bannister',\n",
       " 'B': 'S Coe',\n",
       " 'C': 'J DiMaggio',\n",
       " 'D': 'WG George',\n",
       " 'target': 'D'}"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "task_data['test'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "bec64ac3-96b4-45cd-b79e-6c8ad6fae234",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "prompt_q = mmlu_prompt[task] + \"\\n\\n\" + task_data['test'][0]['input'] + '\\n'\n",
    "for letter in ['A', 'B', 'C', 'D']:\n",
    "    prompt_q += '(' + letter + ') ' + task_data['test'][0][letter] + ' '\n",
    "prompt_q += \"\\nA: Let's think step by step.\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "8847b4b5-99fe-47ab-941b-5bd02c43755e",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The following are multiple choice questions (with answers) about college medicine.\n",
      "\n",
      "Q: An expected side effect of creatine supplementation is:\n",
      "(A) muscle weakness. (B) gain in body mass. (C) muscle cramps. (D) loss of electrolytes.\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. Creatine supplementation is a dietary supplement that results in body mass gain. The answer is (B).\n",
      "\n",
      "Q: Which of the following is not a true statement?\n",
      "(A) Muscle glycogen is broken down enzymatically to glucose-1-phosphate (B) Elite endurance runners have a high proportion of Type I fibres in their leg muscles (C) Liver glycogen is important in the maintenance of the blood glucose concentration (D) Insulin promotes glucose uptake by all tissues in the body\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. Let’s solve this step by step and go over each choice: \n",
      "(A) “Muscle glycogen is broken down enzymatically to glucose-1-phosphate”: This is a correct statement.\n",
      "(B) “Elite endurance runners have a high proportion of Type I fibres in their leg muscles”: This is a correct statement.\n",
      "(C) “Liver glycogen is important in the maintenance of the blood glucose concentration”: This is a correct statement. \n",
      "(D) “Insulin promotes glucose uptake by all tissues in the body”: This is not a correct statement, because insulin promotes glucose uptake by the liver, adipose tissue, and muscle, but not all tissues. For instance, the tissues in the brain and red blood cells are not affected by insulin. The answer is (D).\n",
      "\n",
      "Q: A high school science teacher fills a 1 liter bottle with pure nitrogen and seals the lid. The pressure is 1.70 atm, and the room temperature is 25°C. Which two variables will both increase the pressure of the system, if all other variables are held constant?\n",
      "(A) Increasing temperature, increasing moles of gas (B) Increasing temperature, increasing volume (C) Decreasing volume, decreasing temperature (D) Decreasing moles of gas, increasing volume\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. The relevant equation for this is the ideal gas law: PV=nRT. To increase the pressure of the system (P), then either n (number of moles of the gas) or T (temperature) have to increase. The answer is (A).\n",
      "\n",
      "Q: In a genetic test of a newborn, a rare genetic disorder is found that has X-linked recessive transmission. Which of the following statements is likely true regarding the pedigree of this disorder?\n",
      "(A) All descendants on the maternal side will have the disorder. (B) Females will be approximately twice as affected as males in this family. (C) All daughters of an affected male will be affected. (D) There will be equal distribution of males and females affected.\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. Let’s solve this step by step. Let's recall first that females have two X chromosomes, while males have one X and one Y chromosome. This is an important fact we need to know before answering this question. \n",
      "Because a male can only pass his only one X chromosome to a daughter, if he is affected by this rare genetic disorder, then we know for sure that he will pass this rare genetic disorder to all his future-born daughters. Therefore, “(C): All daughters of an affected male will be affected” is a correct statement. The answer is (C).\n",
      "\n",
      "Q: Glucose is transported into the muscle cell:\n",
      "(A) via protein transporters called GLUT4. (B) only in the presence of insulin. (C) via hexokinase. (D) via monocarbylic acid transporters.\n",
      "A: Let's think step by step. We refer to Wikipedia articles on medicine for help. Glucose (also known as the blood sugar) is the main sugar found in the human body. It is transported into the muscle cell via diffusion through protein transporters called GLUT4. The answer is (A).\n",
      "\n",
      "Who set the world record for the mile race in 1886?\n",
      "(A) R Bannister (B) S Coe (C) J DiMaggio (D) WG George \n",
      "A: Let's think step by step.\n"
     ]
    }
   ],
   "source": [
    "print(prompt_q)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "c91e1e78-0e6d-4d82-9600-b6c76637fa80",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "response = openai.ChatCompletion.create(\n",
    "    model=\"gpt-3.5-turbo\",\n",
    "    messages=[\n",
    "        {\"role\": \"system\", \"content\": \"Follow the given examples and answer the question.\"},\n",
    "        {\"role\": \"user\", \"content\": prompt_q},\n",
    "    ],\n",
    "    temperature=0, \n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "b1e7b952-30b3-43b3-aa11-06595a7f592c",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "We refer to Wikipedia articles on sports for help. The world record for the mile race in 1886 was set by WG George. The answer is (D).\n"
     ]
    }
   ],
   "source": [
    "print(response['choices'][0]['message']['content'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "867945a0-6527-409e-801e-4244eaf75e61",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "def test_answer_mmlu(pred_str, ans_str):\n",
    "    pattern = 'the answer is ('\n",
    "    pred = pred_str.lower().split(pattern)\n",
    "    \n",
    "    if(len(pred) > 1):\n",
    "        # print(pred)\n",
    "        pred = pred[1][0]\n",
    "        gold = ans_str.split('A:\\n')[1][0].lower()\n",
    "        # print('debug 1, pred %s, gold %s' % (pred, gold))\n",
    "        return pred == gold\n",
    "    else: \n",
    "        pred = 'C'\n",
    "        gold = ans_str.split('A:\\n')[1][0].lower()\n",
    "        # print('debug 2, pred %s, gold %s' % (pred, gold))\n",
    "        return pred == gold\n",
    "\n",
    "def parse_pred_ans(filename):\n",
    "    with open(filename) as fd: lines = fd.readlines()\n",
    "    am, a = None, None\n",
    "    num_q, acc = 0, 0\n",
    "    current_mode = 'none'\n",
    "    questions = []\n",
    "    ans_pred = []\n",
    "    ans_gold = []\n",
    "    for l in lines:\n",
    "        if(l.startswith('Q: ')):\n",
    "            if(am is not None and a is not None):\n",
    "                questions.append(q)\n",
    "                ans_pred.append(am)\n",
    "                ans_gold.append(a)\n",
    "                # print(am)\n",
    "                # print(a)\n",
    "                if(test_answer_mmlu(am, a)):\n",
    "                    acc += 1\n",
    "            current_mode = 'q'\n",
    "            q = l\n",
    "            num_q += 1\n",
    "        elif(l.startswith('A_model:')):\n",
    "            current_mode = 'am'\n",
    "            am = l\n",
    "        elif(l.startswith('A:')):\n",
    "            current_mode = 'a'\n",
    "            a = l\n",
    "        else:\n",
    "            if(current_mode == 'q'): q += l\n",
    "            elif(current_mode == 'am'): am += l\n",
    "            elif(current_mode == 'a'): a += l\n",
    "            else:\n",
    "                raise ValueError(current_mode)\n",
    "                \n",
    "    questions.append(q)\n",
    "    ans_pred.append(am)\n",
    "    ans_gold.append(a)\n",
    "    # print(am)\n",
    "    # print(a)\n",
    "    if(test_answer_mmlu(am, a)):\n",
    "        acc += 1\n",
    "    print('num_q %d correct %d ratio %.4f' % (num_q, acc, float(acc / num_q)))\n",
    "    return questions, ans_pred, ans_gold\n",
    "\n",
    "def test_finished(ans_model):\n",
    "    if('answer is' in ans_model): return True\n",
    "    else: return False\n",
    "\n",
    "def extract_ans(ans_model):\n",
    "    ans_model = ans_model.split('\\n')\n",
    "    ans = []\n",
    "    residual = []\n",
    "    for li, al in enumerate(ans_model):\n",
    "        ans.append(al)\n",
    "        if('answer is' in al):\n",
    "            break\n",
    "    residual = list(ans_model[li + 1:])\n",
    "    ans = '\\n'.join(ans)\n",
    "    residual = '\\n'.join(residual)\n",
    "    return ans, residual"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "b398b88e-d8fd-47fc-be03-f4627f6719e1",
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|                                                                                                                                                                                       | 0/172 [00:00<?, ?it/s]\u001b[A\n",
      "  1%|█                                                                                                                                                                              | 1/172 [00:01<03:12,  1.12s/it]\u001b[A\n",
      "  1%|██                                                                                                                                                                             | 2/172 [00:03<04:54,  1.73s/it]\u001b[A\n",
      "  2%|███                                                                                                                                                                            | 3/172 [00:04<04:25,  1.57s/it]\u001b[A\n",
      "  2%|████                                                                                                                                                                           | 4/172 [00:07<05:32,  1.98s/it]\u001b[A\n",
      "  3%|█████                                                                                                                                                                          | 5/172 [00:08<04:27,  1.60s/it]\u001b[A\n",
      "  3%|██████                                                                                                                                                                         | 6/172 [00:10<04:59,  1.80s/it]\u001b[A\n",
      "  4%|███████                                                                                                                                                                        | 7/172 [00:11<04:35,  1.67s/it]\u001b[A\n",
      "  5%|████████▏                                                                                                                                                                      | 8/172 [00:13<04:10,  1.53s/it]\u001b[A\n",
      "  5%|█████████▏                                                                                                                                                                     | 9/172 [00:13<03:38,  1.34s/it]\u001b[A\n",
      "  6%|██████████                                                                                                                                                                    | 10/172 [00:16<04:53,  1.81s/it]\u001b[A\n",
      "  6%|███████████▏                                                                                                                                                                  | 11/172 [00:20<06:13,  2.32s/it]\u001b[A\n",
      "  7%|████████████▏                                                                                                                                                                 | 12/172 [00:23<07:18,  2.74s/it]\u001b[A\n",
      "  8%|█████████████▏                                                                                                                                                                | 13/172 [00:25<06:10,  2.33s/it]\u001b[A\n",
      "  8%|██████████████▏                                                                                                                                                               | 14/172 [00:27<05:46,  2.19s/it]\u001b[A\n",
      "  9%|███████████████▏                                                                                                                                                              | 15/172 [00:29<05:49,  2.22s/it]\u001b[A\n",
      "  9%|████████████████▏                                                                                                                                                             | 16/172 [00:30<04:42,  1.81s/it]\u001b[A\n",
      " 10%|█████████████████▏                                                                                                                                                            | 17/172 [00:31<04:26,  1.72s/it]\u001b[A\n",
      " 10%|██████████████████▏                                                                                                                                                           | 18/172 [00:34<04:46,  1.86s/it]\u001b[A\n",
      " 11%|███████████████████▏                                                                                                                                                          | 19/172 [00:35<04:03,  1.59s/it]\u001b[A\n",
      " 12%|████████████████████▏                                                                                                                                                         | 20/172 [00:37<04:32,  1.79s/it]\u001b[A\n",
      " 12%|█████████████████████▏                                                                                                                                                        | 21/172 [00:38<03:46,  1.50s/it]\u001b[A\n",
      " 13%|██████████████████████▎                                                                                                                                                       | 22/172 [00:39<03:29,  1.40s/it]\u001b[A\n",
      " 13%|███████████████████████▎                                                                                                                                                      | 23/172 [00:40<03:26,  1.39s/it]\u001b[A\n",
      " 14%|████████████████████████▎                                                                                                                                                     | 24/172 [00:42<03:44,  1.52s/it]\u001b[A\n",
      " 15%|█████████████████████████▎                                                                                                                                                    | 25/172 [00:45<04:52,  1.99s/it]\u001b[A\n",
      " 15%|██████████████████████████▎                                                                                                                                                   | 26/172 [00:47<04:55,  2.02s/it]\u001b[A\n",
      " 16%|███████████████████████████▎                                                                                                                                                  | 27/172 [00:48<04:22,  1.81s/it]\u001b[A\n",
      " 16%|████████████████████████████▎                                                                                                                                                 | 28/172 [00:52<05:20,  2.23s/it]\u001b[A\n",
      " 17%|█████████████████████████████▎                                                                                                                                                | 29/172 [00:54<05:12,  2.19s/it]\u001b[A\n",
      " 17%|██████████████████████████████▎                                                                                                                                               | 30/172 [00:56<04:59,  2.11s/it]\u001b[A\n",
      " 18%|███████████████████████████████▎                                                                                                                                              | 31/172 [00:57<04:43,  2.01s/it]\u001b[A\n",
      " 19%|████████████████████████████████▎                                                                                                                                             | 32/172 [00:59<04:01,  1.73s/it]\u001b[A\n",
      " 19%|█████████████████████████████████▍                                                                                                                                            | 33/172 [01:00<03:31,  1.52s/it]\u001b[A\n",
      " 20%|██████████████████████████████████▍                                                                                                                                           | 34/172 [01:01<03:09,  1.37s/it]\u001b[A\n",
      " 20%|███████████████████████████████████▍                                                                                                                                          | 35/172 [01:02<03:23,  1.48s/it]\u001b[A\n",
      " 21%|████████████████████████████████████▍                                                                                                                                         | 36/172 [01:04<03:21,  1.48s/it]\u001b[A\n",
      " 22%|█████████████████████████████████████▍                                                                                                                                        | 37/172 [01:05<03:07,  1.39s/it]\u001b[A\n",
      " 22%|██████████████████████████████████████▍                                                                                                                                       | 38/172 [01:06<03:09,  1.41s/it]\u001b[A\n",
      " 23%|███████████████████████████████████████▍                                                                                                                                      | 39/172 [01:08<03:18,  1.50s/it]\u001b[A\n",
      " 23%|████████████████████████████████████████▍                                                                                                                                     | 40/172 [01:12<04:34,  2.08s/it]\u001b[A\n",
      " 24%|█████████████████████████████████████████▍                                                                                                                                    | 41/172 [01:13<03:54,  1.79s/it]\u001b[A\n",
      " 24%|██████████████████████████████████████████▍                                                                                                                                   | 42/172 [01:14<03:28,  1.61s/it]\u001b[A\n",
      " 25%|███████████████████████████████████████████▌                                                                                                                                  | 43/172 [01:16<04:01,  1.87s/it]\u001b[A\n",
      " 26%|████████████████████████████████████████████▌                                                                                                                                 | 44/172 [01:18<03:58,  1.87s/it]\u001b[A\n",
      " 26%|█████████████████████████████████████████████▌                                                                                                                                | 45/172 [01:20<03:41,  1.74s/it]\u001b[A\n",
      " 27%|██████████████████████████████████████████████▌                                                                                                                               | 46/172 [01:21<03:28,  1.65s/it]\u001b[A\n",
      " 27%|███████████████████████████████████████████████▌                                                                                                                              | 47/172 [01:22<03:04,  1.47s/it]\u001b[A\n",
      " 28%|████████████████████████████████████████████████▌                                                                                                                             | 48/172 [01:24<03:30,  1.70s/it]\u001b[A\n",
      " 28%|█████████████████████████████████████████████████▌                                                                                                                            | 49/172 [01:29<04:56,  2.41s/it]\u001b[A\n",
      " 29%|██████████████████████████████████████████████████▌                                                                                                                           | 50/172 [01:31<04:39,  2.29s/it]\u001b[A\n",
      " 30%|███████████████████████████████████████████████████▌                                                                                                                          | 51/172 [01:32<04:20,  2.15s/it]\u001b[A\n",
      " 30%|████████████████████████████████████████████████████▌                                                                                                                         | 52/172 [01:34<04:07,  2.07s/it]\u001b[A\n",
      " 31%|█████████████████████████████████████████████████████▌                                                                                                                        | 53/172 [01:36<03:59,  2.01s/it]\u001b[A\n",
      " 31%|██████████████████████████████████████████████████████▋                                                                                                                       | 54/172 [01:38<03:41,  1.88s/it]\u001b[A\n",
      " 32%|███████████████████████████████████████████████████████▋                                                                                                                      | 55/172 [01:39<03:10,  1.63s/it]\u001b[A\n",
      " 33%|████████████████████████████████████████████████████████▋                                                                                                                     | 56/172 [01:40<02:56,  1.52s/it]\u001b[A\n",
      " 33%|█████████████████████████████████████████████████████████▋                                                                                                                    | 57/172 [01:42<03:02,  1.58s/it]\u001b[A\n",
      " 34%|██████████████████████████████████████████████████████████▋                                                                                                                   | 58/172 [01:43<03:01,  1.59s/it]\u001b[A\n",
      " 34%|███████████████████████████████████████████████████████████▋                                                                                                                  | 59/172 [01:45<02:49,  1.50s/it]\u001b[A\n",
      " 35%|████████████████████████████████████████████████████████████▋                                                                                                                 | 60/172 [01:46<02:33,  1.37s/it]\u001b[A\n",
      " 35%|█████████████████████████████████████████████████████████████▋                                                                                                                | 61/172 [01:47<02:41,  1.46s/it]\u001b[A\n",
      " 36%|██████████████████████████████████████████████████████████████▋                                                                                                               | 62/172 [01:49<02:32,  1.39s/it]\u001b[A\n",
      " 37%|███████████████████████████████████████████████████████████████▋                                                                                                              | 63/172 [01:50<02:48,  1.55s/it]\u001b[A\n",
      " 37%|████████████████████████████████████████████████████████████████▋                                                                                                             | 64/172 [01:52<02:57,  1.64s/it]\u001b[A\n",
      " 38%|█████████████████████████████████████████████████████████████████▊                                                                                                            | 65/172 [01:54<03:06,  1.74s/it]\u001b[A\n",
      " 38%|██████████████████████████████████████████████████████████████████▊                                                                                                           | 66/172 [01:57<03:24,  1.93s/it]\u001b[A\n",
      " 39%|███████████████████████████████████████████████████████████████████▊                                                                                                          | 67/172 [01:59<03:30,  2.01s/it]\u001b[A\n",
      " 40%|████████████████████████████████████████████████████████████████████▊                                                                                                         | 68/172 [02:00<03:06,  1.79s/it]\u001b[A\n",
      " 40%|█████████████████████████████████████████████████████████████████████▊                                                                                                        | 69/172 [02:03<03:37,  2.11s/it]\u001b[A\n",
      " 41%|██████████████████████████████████████████████████████████████████████▊                                                                                                       | 70/172 [02:04<03:07,  1.84s/it]\u001b[A\n",
      " 41%|███████████████████████████████████████████████████████████████████████▊                                                                                                      | 71/172 [02:05<02:45,  1.64s/it]\u001b[A\n",
      " 42%|████████████████████████████████████████████████████████████████████████▊                                                                                                     | 72/172 [02:07<02:48,  1.69s/it]\u001b[A\n",
      " 42%|█████████████████████████████████████████████████████████████████████████▊                                                                                                    | 73/172 [02:10<03:06,  1.89s/it]\u001b[A\n",
      " 43%|██████████████████████████████████████████████████████████████████████████▊                                                                                                   | 74/172 [02:12<03:07,  1.91s/it]\u001b[A\n",
      " 44%|███████████████████████████████████████████████████████████████████████████▊                                                                                                  | 75/172 [02:13<02:44,  1.70s/it]\u001b[A\n",
      " 44%|████████████████████████████████████████████████████████████████████████████▉                                                                                                 | 76/172 [02:14<02:29,  1.56s/it]\u001b[A\n",
      " 45%|█████████████████████████████████████████████████████████████████████████████▉                                                                                                | 77/172 [02:15<02:25,  1.53s/it]\u001b[A\n",
      " 45%|██████████████████████████████████████████████████████████████████████████████▉                                                                                               | 78/172 [02:17<02:27,  1.57s/it]\u001b[A\n",
      " 46%|███████████████████████████████████████████████████████████████████████████████▉                                                                                              | 79/172 [02:19<02:39,  1.71s/it]\u001b[A\n",
      " 47%|████████████████████████████████████████████████████████████████████████████████▉                                                                                             | 80/172 [02:21<02:38,  1.73s/it]\u001b[A\n",
      " 47%|█████████████████████████████████████████████████████████████████████████████████▉                                                                                            | 81/172 [02:22<02:13,  1.47s/it]\u001b[A\n",
      " 48%|██████████████████████████████████████████████████████████████████████████████████▉                                                                                           | 82/172 [02:24<02:27,  1.64s/it]\u001b[A\n",
      " 48%|███████████████████████████████████████████████████████████████████████████████████▉                                                                                          | 83/172 [02:25<02:09,  1.46s/it]\u001b[A\n",
      " 49%|████████████████████████████████████████████████████████████████████████████████████▉                                                                                         | 84/172 [02:27<02:17,  1.57s/it]\u001b[A\n",
      " 49%|█████████████████████████████████████████████████████████████████████████████████████▉                                                                                        | 85/172 [02:28<02:20,  1.62s/it]\u001b[A\n",
      " 50%|███████████████████████████████████████████████████████████████████████████████████████                                                                                       | 86/172 [02:30<02:19,  1.62s/it]\u001b[A\n",
      " 51%|████████████████████████████████████████████████████████████████████████████████████████                                                                                      | 87/172 [02:31<01:55,  1.36s/it]\u001b[A\n",
      " 51%|█████████████████████████████████████████████████████████████████████████████████████████                                                                                     | 88/172 [02:32<01:58,  1.41s/it]\u001b[A\n",
      " 52%|██████████████████████████████████████████████████████████████████████████████████████████                                                                                    | 89/172 [02:35<02:22,  1.72s/it]\u001b[A\n",
      " 52%|███████████████████████████████████████████████████████████████████████████████████████████                                                                                   | 90/172 [02:36<02:21,  1.72s/it]\u001b[A\n",
      " 53%|████████████████████████████████████████████████████████████████████████████████████████████                                                                                  | 91/172 [02:38<02:13,  1.64s/it]\u001b[A\n",
      " 53%|█████████████████████████████████████████████████████████████████████████████████████████████                                                                                 | 92/172 [02:40<02:10,  1.63s/it]\u001b[A\n",
      " 54%|██████████████████████████████████████████████████████████████████████████████████████████████                                                                                | 93/172 [02:43<02:41,  2.04s/it]\u001b[A\n",
      " 55%|███████████████████████████████████████████████████████████████████████████████████████████████                                                                               | 94/172 [02:44<02:25,  1.86s/it]\u001b[A\n",
      " 55%|████████████████████████████████████████████████████████████████████████████████████████████████                                                                              | 95/172 [02:45<02:04,  1.62s/it]\u001b[A\n",
      " 56%|█████████████████████████████████████████████████████████████████████████████████████████████████                                                                             | 96/172 [02:47<02:11,  1.73s/it]\u001b[A\n",
      " 56%|██████████████████████████████████████████████████████████████████████████████████████████████████▏                                                                           | 97/172 [02:49<02:12,  1.77s/it]\u001b[A\n",
      " 57%|███████████████████████████████████████████████████████████████████████████████████████████████████▏                                                                          | 98/172 [02:51<02:15,  1.83s/it]\u001b[A\n",
      " 58%|████████████████████████████████████████████████████████████████████████████████████████████████████▏                                                                         | 99/172 [02:52<01:52,  1.54s/it]\u001b[A\n",
      " 58%|████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                        | 100/172 [02:53<01:53,  1.58s/it]\u001b[A\n",
      " 59%|█████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                       | 101/172 [02:54<01:40,  1.42s/it]\u001b[A\n",
      " 59%|██████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                      | 102/172 [02:56<01:32,  1.33s/it]\u001b[A\n",
      " 60%|███████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                     | 103/172 [02:57<01:44,  1.51s/it]\u001b[A\n",
      " 60%|████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                    | 104/172 [02:59<01:40,  1.48s/it]\u001b[A\n",
      " 61%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                   | 105/172 [03:01<01:42,  1.54s/it]\u001b[A\n",
      " 62%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                  | 106/172 [03:03<01:53,  1.72s/it]\u001b[A\n",
      " 62%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▌                                                                 | 107/172 [03:04<01:36,  1.48s/it]\u001b[A\n",
      " 63%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                                | 108/172 [03:05<01:38,  1.55s/it]\u001b[A\n",
      " 63%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                               | 109/172 [03:07<01:34,  1.50s/it]\u001b[A\n",
      " 64%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                              | 110/172 [03:08<01:34,  1.52s/it]\u001b[A\n",
      " 65%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                             | 111/172 [03:11<01:48,  1.78s/it]\u001b[A\n",
      " 65%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                            | 112/172 [03:13<01:48,  1.81s/it]\u001b[A\n",
      " 66%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                           | 113/172 [03:14<01:35,  1.61s/it]\u001b[A\n",
      " 66%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                          | 114/172 [03:15<01:20,  1.39s/it]\u001b[A\n",
      " 67%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                         | 115/172 [03:16<01:27,  1.53s/it]\u001b[A\n",
      " 67%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                        | 116/172 [03:18<01:25,  1.53s/it]\u001b[A\n",
      " 68%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                       | 117/172 [03:19<01:18,  1.43s/it]\u001b[A\n",
      " 69%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                      | 118/172 [03:20<01:10,  1.30s/it]\u001b[A\n",
      " 69%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                     | 119/172 [03:21<01:01,  1.16s/it]\u001b[A\n",
      " 70%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                    | 120/172 [03:22<01:01,  1.18s/it]\u001b[A\n",
      " 70%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                   | 121/172 [03:25<01:26,  1.69s/it]\u001b[A\n",
      " 71%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                  | 122/172 [03:28<01:48,  2.16s/it]\u001b[A\n",
      " 72%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                 | 123/172 [03:31<01:52,  2.29s/it]\u001b[A\n",
      " 72%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                                | 124/172 [03:32<01:36,  2.01s/it]\u001b[A\n",
      " 73%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                               | 125/172 [03:34<01:27,  1.86s/it]\u001b[A\n",
      " 73%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                              | 126/172 [03:36<01:30,  1.97s/it]\u001b[A\n",
      " 74%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                             | 127/172 [03:38<01:23,  1.85s/it]\u001b[A\n",
      " 74%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋                                            | 128/172 [03:39<01:16,  1.74s/it]\u001b[A\n",
      " 75%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                           | 129/172 [03:42<01:28,  2.06s/it]\u001b[A\n",
      " 76%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                          | 130/172 [03:44<01:22,  1.95s/it]\u001b[A\n",
      " 76%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                         | 131/172 [03:45<01:13,  1.80s/it]\u001b[A\n",
      " 77%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                        | 132/172 [03:46<01:04,  1.60s/it]\u001b[A\n",
      " 77%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                       | 133/172 [03:47<00:54,  1.41s/it]\u001b[A\n",
      " 78%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                      | 134/172 [03:50<01:06,  1.75s/it]\u001b[A\n",
      " 78%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                     | 135/172 [03:52<01:07,  1.84s/it]\u001b[A\n",
      " 79%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                    | 136/172 [03:53<00:59,  1.65s/it]\u001b[A\n",
      " 80%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                   | 137/172 [03:55<00:59,  1.71s/it]\u001b[A\n",
      " 80%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                  | 138/172 [03:56<00:55,  1.64s/it]\u001b[A\n",
      " 81%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                 | 139/172 [03:57<00:44,  1.36s/it]\u001b[A\n",
      " 81%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                                | 140/172 [04:01<01:05,  2.04s/it]\u001b[A\n",
      " 82%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                               | 141/172 [04:02<00:58,  1.88s/it]\u001b[A\n",
      " 83%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                              | 142/172 [04:04<00:59,  1.99s/it]\u001b[A\n",
      " 83%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                             | 143/172 [04:06<00:55,  1.91s/it]\u001b[A\n",
      " 84%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                            | 144/172 [04:07<00:46,  1.67s/it]\u001b[A\n",
      " 84%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                           | 145/172 [04:08<00:41,  1.54s/it]\u001b[A\n",
      " 85%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                          | 146/172 [04:09<00:36,  1.39s/it]\u001b[A\n",
      " 85%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                         | 147/172 [04:11<00:32,  1.31s/it]\u001b[A\n",
      " 86%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                        | 148/172 [04:12<00:34,  1.44s/it]\u001b[A\n",
      " 87%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                       | 149/172 [04:13<00:29,  1.28s/it]\u001b[A\n",
      " 87%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊                      | 150/172 [04:15<00:30,  1.40s/it]\u001b[A\n",
      " 88%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                     | 151/172 [04:17<00:32,  1.57s/it]\u001b[A\n",
      " 88%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                    | 152/172 [04:18<00:27,  1.36s/it]\u001b[A\n",
      " 89%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                   | 153/172 [04:19<00:27,  1.46s/it]\u001b[A\n",
      " 90%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                  | 154/172 [04:20<00:23,  1.28s/it]\u001b[A\n",
      " 90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                 | 155/172 [04:22<00:23,  1.40s/it]\u001b[A\n",
      " 91%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉                | 156/172 [04:23<00:18,  1.17s/it]\u001b[A\n",
      " 91%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉               | 157/172 [04:24<00:19,  1.30s/it]\u001b[A\n",
      " 92%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉              | 158/172 [04:28<00:28,  2.07s/it]\u001b[A\n",
      " 92%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉             | 159/172 [04:29<00:22,  1.76s/it]\u001b[A\n",
      " 93%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉            | 160/172 [04:31<00:20,  1.72s/it]\u001b[A\n",
      " 94%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉           | 161/172 [04:34<00:25,  2.28s/it]\u001b[A\n",
      " 94%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉          | 162/172 [04:36<00:20,  2.03s/it]\u001b[A\n",
      " 95%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉         | 163/172 [04:38<00:18,  2.09s/it]\u001b[A\n",
      " 95%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉        | 164/172 [04:41<00:20,  2.50s/it]\u001b[A\n",
      " 96%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉       | 165/172 [04:44<00:17,  2.56s/it]\u001b[A\n",
      " 97%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉      | 166/172 [04:45<00:12,  2.09s/it]\u001b[A\n",
      " 97%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉     | 167/172 [04:47<00:10,  2.07s/it]\u001b[A\n",
      " 98%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉    | 168/172 [04:49<00:07,  1.86s/it]\u001b[A\n",
      " 98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉   | 169/172 [04:50<00:05,  1.84s/it]\u001b[A\n",
      " 99%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉  | 170/172 [04:54<00:04,  2.29s/it]\u001b[A\n",
      " 99%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 171/172 [04:56<00:02,  2.17s/it]\u001b[A\n",
      "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 172/172 [04:57<00:00,  1.73s/it]\u001b[A\n"
     ]
    }
   ],
   "source": [
    "i = 0\n",
    "with open('outputs/test_gpt_3.5_turbo_%s.txt' % task, 'w') as fd:\n",
    "    for q_ in tqdm(task_data['test'], total=len(task_data['test'])):\n",
    "        q = q_['input'] + '\\n'\n",
    "        for letter in ['A', 'B', 'C', 'D']:\n",
    "            q += '(' + letter + ') ' + q_[letter] + ' '\n",
    "        q += \"\\nA: Let's think step by step.\"  \n",
    "            \n",
    "        prompt_q = mmlu_prompt[task] + \"\\n\\n\" + q\n",
    "\n",
    "        response = completion_with_backoff(\n",
    "              model=\"gpt-3.5-turbo\",\n",
    "              messages=[\n",
    "                    {\"role\": \"system\", \"content\": \"Follow the given examples and answer the question.\"},\n",
    "                    {\"role\": \"user\", \"content\": prompt_q},\n",
    "                ],\n",
    "            temperature=0\n",
    "            )\n",
    "        ans_model = response['choices'][0]['message']['content']\n",
    "        ans_, residual = extract_ans(ans_model)\n",
    "            \n",
    "        a = q_['target']\n",
    "        fd.write('Q: %s\\nA_model:\\n%s\\nA:\\n%s\\n\\n' % (q, ans_, a))\n",
    "        i += 1\n",
    "        # if(i == 2): break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "8ea5012b-444a-49d8-8752-51ea485d9beb",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "college_medicine\n",
      "num_q 172 correct 101 ratio 0.5872\n"
     ]
    }
   ],
   "source": [
    "print(task)\n",
    "_, _, _ = parse_pred_ans('outputs/test_gpt_3.5_turbo_%s.txt' % task)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
